package com.cskaoyan.mall25.service;

import com.cskaoyan.mall25.bean.BaseData;
import com.cskaoyan.mall25.bean.User;
import com.cskaoyan.mall25.bean.UserExample;
import com.cskaoyan.mall25.mapper.UserMapper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;

import java.util.List;

@Service
public class UserServiceImpl implements UserService{

    @Autowired
    UserMapper userMapper;

    /**
     * @param page  分页的参数 → 当天的页码
     * @param limit 分页的参数 → 当前页码数据最大值
     * @param sort  排序的参数
     * @param order 排序的参数
     * @return
     */
    @Override
    public BaseData queryUserList(Integer page, Integer limit, String sort, String order) {

        PageHelper.startPage(page, limit);//预编译的时候增加分页的sql语句

        UserExample userExample = new UserExample();
        //设置order by 后面的内容
        userExample.setOrderByClause(sort + " " + order);//add_time desc
        List<User> users = userMapper.selectByExample(userExample);

        //可以在查询完成后获得pageInfo → 根据查询结果获得
        PageInfo<User> userPageInfo = new PageInfo<>(users);
        long total = userPageInfo.getTotal(); //根据35行sql的查询条件执行了一个select count(*)
        return BaseData.data(users,total);
    }
}
